package com.api.user.service;
import com.api.user.model.RegisterInput;
import com.api.user.model.UserExamineLog;
import com.api.user.model.UserInfo;
import com.api.core.service.Service;
import com.api.core.response.Result;
import com.api.user.model.UserInfoUpdate;
import com.api.user.vo.SubscribeVo;
import com.api.user.vo.UserInfoVo;

import java.util.List;
import java.util.Map;

/**
 * Created by wanghuiwen on 2021/03/17.
 */
public interface UserInfoService extends Service<UserInfo> {
   Result list(Map<String, Object> params, String order, Integer page, Integer size);
   Result list(Map<String, Object> params);
   Result friendList(Long userId, String order, Integer page, Integer size);

   Map<String,Object> detail(Long userId);
   Result register(RegisterInput registerInput);
   Result updateUserInfo(UserInfoUpdate userInfo);
   Result examine(UserExamineLog userExamineLog);

   Result forgetPassword(String email);

   Result forgetPasswordUpdate(String password, Long id);

    Map<Long, UserInfoVo> getIdVoMap(List<Long> userIds);

   Result subscribe(SubscribeVo subscribeVo, Long id);

   void vipExpire();

   List<Map<String, Object>> listExport(Map<String, Object> params);

   Result mark(Long id);
}
